Method and system for generating maneuvering trajectories for a vehicle

ABSTRACT

The present disclosure relates to generating maneuvering trajectories using Machine Learning (ML) model. The ML model scores each candidate maneuvering trajectories based on a plurality of dynamic profile parameters. A candidate maneuvering trajectory from a plurality of candidate maneuvering trajectories, having a best trajectory score is selected as the final maneuvering trajectory and is provided to the vehicle for navigating according to the final maneuvering trajectory. The final maneuvering trajectory is the most ideal trajectory as it is generated using the ML model based on the plurality of dynamic profile parameters. Also, the vehicle navigation is most efficient when navigated according to the final maneuvering trajectory.

TECHNICAL FIELD

The present disclosure relates to automobile industry. Particularly, butnot exclusively, the present disclosure relates to method and system forgenerating maneuvering trajectories for vehicles.

BACKGROUND

Guidance systems are widely used in manually driven vehicles andautonomous vehicles. The guidance system helps navigate seamlessly froma source to a destination. For example maps help a driver to identifyroadblocks and drive via alternate routes. Currently, the guidancesystems are advanced and provide various types of services such asidentifying obstacles in a path, recommending services available in apath, recommending best maneuvering trajectories, and the like. Theguidance system helps a driver to drive with ease and helps anautonomous and semi-autonomous vehicle to traverse a path effectively.

Generally, multiple trajectories are generated from a source location toa destination location and is referred as a global path in the domain.However, the global path does not consider the exact location of thevehicle, but considers a location on the global path closest to thelocation of the vehicle. For example, when the vehicle is in a garage,the trajectory from the source to the destination is not shown from thegarage, but from a point on a road closest to the garage. It isimportant for the vehicle to efficiently reach the point on the globalpath from its current location. Existing guidance systems do notgenerate efficient trajectories for the vehicle to reach the point onthe global path from its current location.

Hence, there is a need to generate efficient maneuvering trajectoriesfor the vehicle to reach a goal point (e.g., point on the global path,parking space and the like) from its current location.

The information disclosed in this background of the disclosure sectionis only for enhancement of understanding of the general background ofthe invention and should not be taken as an acknowledgement or any formof suggestion that this information forms the prior art already known toa person skilled in the art.

SUMMARY

In an embodiment, the present disclosure relates to a method ofgenerating maneuvering trajectories for a vehicle in real-time. Themethod comprises obtaining a plurality of candidate maneuveringtrajectories for maneuvering the vehicle to reach a goal point. Further,a plurality of dynamic profile parameters associated with each of theplurality of candidate maneuvering trajectories are determined.Furthermore, a trajectory score is generated for each of the pluralityof candidate maneuvering trajectories using a Machine Learning (ML)model. The ML model is trained using the plurality of dynamic parametersduring a training stage. Thereafter, a final maneuvering trajectory isgenerated from the plurality of candidate maneuvering trajectories basedon the trajectory score. The vehicle is navigated according to the finalmaneuvering trajectory. The use of ML model to select the finalmaneuvering trajectory increases efficiency in the navigation.

In an embodiment, the present disclosure relates to a system forgenerating a maneuvering trajectory for a vehicle in real-time. Thesystem comprises an Electronic Control Unit (ECU) which is configured inthe vehicle. The ECU comprising at least one processor and a memorystoring instructions that when executed by the at least one processor,cause the at least one processor to obtain a plurality of candidatemaneuvering trajectories for maneuvering the vehicle to reach a goalpoint. Further, the ECU is configured to determine a plurality ofdynamic profile parameters associated with each of the plurality ofcandidate maneuvering trajectories. Furthermore the at least oneprocessor is configured to generate a trajectory score for each of theplurality of candidate maneuvering trajectories using a Machine Learning(ML) model. The ML model is trained using the plurality of dynamicprofile parameters during a training stage. Thereafter, the at least oneprocessor is configured to generate a final maneuvering trajectory fromthe plurality of candidate maneuvering trajectories based on thetrajectory score. The vehicle is navigated according to the finalmaneuvering trajectory. The use of ML model to select the finalmaneuvering trajectory increases efficiency in the navigation.

In an embodiment a non-transitory computer readable medium is disclosed.The non-transitory medium included instructions stored that whenprocessed by at least one processor cause a device to perform operationscomprising, obtaining a plurality of candidate maneuvering trajectoriesfor maneuvering the vehicle to reach a goal point; determining aplurality of dynamic profile parameters associated with each of theplurality of candidate maneuvering trajectories; generating a trajectoryscore for each of the plurality of candidate maneuvering trajectoriesusing a Machine Learning (ML) model, wherein the ML model is trainedusing the plurality of dynamic profile parameters; and generating afinal maneuvering trajectory from the plurality of candidate maneuveringtrajectories based on the trajectory score, wherein the vehicle isnavigated based on the final maneuvering trajectory.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the drawings and the followingdetailed description.

BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS

The novel features and characteristic of the disclosure are set forth inthe appended claims. The disclosure itself, however, as well as apreferred mode of use, further objectives and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying figures. One or more embodiments are now described, by wayof example only, with reference to the accompanying figures wherein likereference numerals represent like elements and in which:

FIG. 1 is illustration of an environment for generating maneuveringtrajectories for a vehicle in real-time, in accordance with someembodiments of the present disclosure.

FIG. 2 is a block diagram of internal architecture of an ECU configuredto generate maneuvering trajectories for a vehicle in real-time, inaccordance with some embodiments of the present disclosure.

FIG. 3 is a flow diagram illustrating steps for generating maneuveringtrajectories for a vehicle in real-time, in accordance with someembodiments of the present disclosure.

FIG. 4 illustrates training of a ML model for generating trajectoryscore, in accordance with some embodiments of the present disclosure.

FIG. 5 illustrates an exemplified scenario of generating candidatemaneuvering trajectories, in accordance with some embodiments of thepresent disclosure.

FIG. 6 illustrates an exemplified scenario of generating a finalmaneuvering trajectory from candidate maneuvering trajectories, inaccordance with some embodiments of the present disclosure

FIGS. 7a-7c illustrate exemplary scenarios of generating maneuveringtrajectories, in accordance with some embodiments of the presentdisclosure.

It should be appreciated by those skilled in the art that any blockdiagram herein represent conceptual views of illustrative systemsembodying the principles of the present subject matter. Similarly, itwill be appreciated that any flow charts, flow diagrams, statetransition diagrams, pseudo code, and the like represent variousprocesses which may be substantially represented in computer readablemedium and executed by a computer or processor, whether or not suchcomputer or processor is explicitly shown.

DETAILED DESCRIPTION

In the present document, the word “exemplary” is used herein to mean“serving as an example, instance, or illustration.” Any embodiment orimplementation of the present subject matter described herein as“exemplary” is not necessarily to be construed as preferred oradvantageous over other embodiments.

While the disclosure is susceptible to various modifications andalternative forms, specific embodiment thereof has been shown by way ofexample in the drawings and will be described in detail below. It shouldbe understood, however that it is not intended to limit the disclosureto the particular forms disclosed, but on the contrary, the disclosureis to cover all modifications, equivalents, and alternatives fallingwithin the scope of the disclosure.

The terms “comprises”, “comprising”, or any other variations thereof,are intended to cover a non-exclusive inclusion, such that a setup,device or method that comprises a list of components or steps does notinclude only those components or steps but may include other componentsor steps not expressly listed or inherent to such setup or device ormethod. In other words, one or more elements in a system or apparatusproceeded by “comprises . . . a” does not, without more constraints,preclude the existence of other elements or additional elements in thesystem or apparatus.

Embodiments of the present disclosure relate to generating maneuveringtrajectories. Maneuvering trajectories may be trajectories that aregenerated for the vehicle to reach a goal point, such as a point on aglobal path from a current vehicle location. The present disclosure usesMachine Learning (ML) model based approach to generate a finalmaneuvering trajectory from a plurality of candidate maneuveringtrajectories. The ML model scores each candidate maneuveringtrajectories based on a plurality of dynamic profile parameters. Thecandidate maneuvering trajectory having a best trajectory score isselected as the final maneuvering trajectory and is provided to thevehicle for navigating according to the final maneuvering trajectory.The final maneuvering trajectory is the most ideal trajectory as it isgenerated using the ML model based on the plurality dynamic profileparameters. Also, the vehicle navigation is most efficient whennavigated according to the final maneuvering trajectory.

FIG. 1 shows an environment of generating a maneuvering trajectory for avehicle (100). The environment includes the vehicle (100), a road (106),and a plurality of candidate maneuvering trajectories (105 a, 105 b).The vehicle (100) includes a system (101). The system (101) may includean Electronic Control Unit (ECU) (102), a main controller (103) and oneor more sensors (104A, 104B, . . . , 104N, collectively referred to bythe reference numeral “104”). In an embodiment, the plurality ofcandidate maneuvering trajectories (105 a, 105 b) are generated for thevehicle to reach a goal point. The goal point may be a point on theglobal path, a parking space, a gas station and the like. In anembodiment, the goal point may or may not be same as thesource/destination location which is used for generating the globalpath. For example, in a parking premise the goal point is the parkingspace for the vehicle 100. Likewise, a vehicle 100 moving out of agarage to the road (106), a point on the road (106) is the goal point.Another example of the goal point is a gas/charging station, where thevehicle 100 can fill gas or get charged.

In an embodiment, the one or more sensors (104) may include, but notlimited to, a Light Detection and Ranging (LIDAR), an imaging sensor, aproximity sensor, and a weather sensor. The one or more sensors (104)may be installed on the vehicle (100) to measure road and environmentinformation. In an embodiment, the main controller (103) may be used forautonomously navigating the autonomous vehicle (100) in a forward path.The main controller (103) may be connected to the one or more sensors(104) and may receive the road information from the one or more sensors(104). In an embodiment, the ECU (102) may be a part of the maincontroller (103) or may be a standalone unit and associated with themain controller (103). When the ECU (102) is part of the main controller(103), the ECU (102) may receive the road information from the one ormore sensors (104). When the ECU (102) is a standalone unit, the ECU(102) may receive the road information from the main controller (103)which would have received the same from the one or more sensors (104).In an embodiment, the ECU (102) may be configured to determine aplurality of trajectory parameters from the road information. Theplurality of trajectory parameters may be road parameters associatedwith the vehicle (100). In an embodiment, the plurality of trajectoryparameters may include, but not limited to, the speed breaker, agradient, a curvature, a pothole, a road boundary, an obstacle, atraffic sign, a road sign, and a median. Further, the ECU (102) may beconfigured to generate a plurality of candidate maneuvering trajectoriesbased on the plurality of trajectory parameters. The ECU (102) mayselect a most relevant maneuvering trajectory from the plurality ofcandidate maneuvering trajectories and provide to the main controller(103) to navigate the vehicle (100) according to the selectedmaneuvering trajectory. The selected maneuvering trajectory ensuresefficient navigation to the goal point.

FIG. 2 illustrates internal architecture of the ECU (102) in accordancewith some embodiments of the present disclosure. The ECU (102) mayinclude at least one Central Processing Unit (“CPU” or “processor”)(203) and a memory (202) storing instructions executable by the at leastone processor (203). The processor (203) may include at least one dataprocessor for executing program components for executing user orsystem-generated requests. The memory (202) is communicatively coupledto the processor (203). The ECU (102) further includes an Input/Output(I/O) interface (201). The I/O interface (201) is coupled with theprocessor (203) through which an input signal or/and an output signal iscommunicated.

In an embodiment, data (204) may be stored within the memory (202). Thedata (204) may include, for example, sensor data (205), candidatetrajectories (206), model data (207), and other data (208).

In an embodiment, the sensor data (205) may include road and environmentinformation. The one or more sensors (104) may detect any obstacles andmonitors road parameters for the vehicle 100 to reach the goal point.The obstacles and the plurality of trajectory parameters are provided asroad information to the main controller (103) or the ECU (102). Forexample, the one or more sensors (104) may detect a road curvature of afirst and second candidate maneuvering trajectory. Another example mayinclude detecting distance of a first and second candidate maneuveringtrajectory for reaching the goal point from a current vehicle location.

In an embodiment, the candidate maneuvering trajectories (206) mayinclude waypoints for generating trajectories from the current vehiclelocation to the goal point. The ECU (102) may use the waypoints togenerate the plurality of candidate maneuvering trajectories (206). Inan embodiment, the candidate maneuvering trajectories (206) may includethe trajectories (path) itself rather than the waypoints. Each candidatemaneuvering trajectory may navigate the vehicle (100) from its currentlocation to the goal point.

In an embodiment, the model data (207) may include parameters of anArtificial Intelligence (AI) model. The parameters of the AI model mayinclude but not limited to training data set, bias values, weightvalues, and activation functions. The training data set may be used totrain the AI model during a training stage to generate a trajectoryscore for each of the plurality of candidate maneuvering trajectories(206). The training data set may include the plurality of trajectoryparameters and dynamic profile parameters. In an embodiment, trainingprofile parameters for training trajectories may be provided by anexpert during the training stage. In an embodiment, the training dataset may be generated using simulation or by navigating the vehicle (100)on test paths. In an embodiment, the weight values may indicate astrength of association between one or more input nodes and one or moreoutput nodes. In an embodiment, the bias values may indicate how the AImodel fits with the training data set. For example, high bias mayindicate that the AI model is not fitting the training data set and alow bias may indicate that the AI model is fitting the training dataset.

In an embodiment, the other data (208) may include but is not limited totraffic information, navigation details, environment parameters and thelike. For example, the traffic information may include number ofvehicles on the road (106), the navigation details may include a sourcelocation and a destination location and the environment parameters mayinclude a temperature around the autonomous vehicle (100).

In an embodiment, the data (204) in the memory (202) is processed bymodules (209) of the ECU (102). As used herein, the term module refersto an Application Specific Integrated Circuit (ASIC), an electroniccircuit, a Field-Programmable Gate Arrays (FPGA), ProgrammableSystem-on-Chip (PSoC), a combinational logic circuit, and/or othersuitable components that provide the described functionality. Themodules (209) when configured with the functionality defined in thepresent disclosure will result in a novel hardware.

In one implementation, the modules (209) may include, for example, acommunication module (210), a profile parameter determination module(211), a trajectory score calculator (212), a final trajectory generator(213), and other modules (214). It will be appreciated that suchaforementioned modules (209) may be represented as a single module or acombination of different modules.

The communication module (210) may be configured to enable communicationbetween the ECU (102) and other units (not shown in figures) of thevehicle (100). In an embodiment, the other units may comprise, but arenot limited to, a transmission control unit, door unit, a steeringcontroller, an indication unit, etc. For example, the communicationmodule (210) may receive sensor data (205) from the one or more sensors(104). Also, the communication module (210) may convey instructions tothe main controller (103). Also, the communication module (210) maycommunicate instructions to the one or more sensors (104) regardingactivation and deactivation of the one or more sensors (104).

In an embodiment, the profile parameter determination module (211) maybe configured to determine the plurality of dynamic profile parametersfor each candidate maneuvering trajectory. The profile parameterdetermination module (211) may receive the plurality of candidatemaneuvering trajectories (206) from the communication module (210) anddetermine the plurality of dynamic profile parameters for each of theplurality of candidate maneuvering trajectories (206). In an embodiment,the profile parameter determination module (211) may be configured inthe vehicle (100) or may be configured in a remote server (not shown inFIG. 2) or may be configured in both the server and the vehicle (100).

In an embodiment, the trajectory score calculator (212) may beconfigured to produce or generate a trajectory score for each of theplurality of candidate maneuvering trajectories (206) based on theplurality of dynamic profile parameters. The trajectory score calculator(212) may receive the dynamic profile parameters from the profileparameters determination module (211) and the plurality of candidatemaneuvering trajectories (206) from the communication module (210), andgenerate the trajectory score using the ML model. In an embodiment, theML model may be trained to generate the trajectory score based on thetraining data set. In an embodiment, the ML model may be configured togenerate the trajectory score based on one or more rules defined by adomain expert. For example, a first candidate maneuvering trajectoryhaving a larger curvature compared to a second candidate maneuveringtrajectory may be associated with a lower trajectory score. Likewise,the plurality of dynamic profile parameters are considered to generatethe trajectory score for each of the plurality of candidate maneuveringtrajectories (206).

In an embodiment, final trajectory generator (213) may be configured togenerate or select a final maneuvering trajectory from the plurality ofcandidate maneuvering trajectories (206) based on respective trajectoryscore, and provide the final maneuvering trajectory to the vehicle (100)to reach the goal point. The final trajectory generator (213) maycompare each of the plurality of candidate maneuvering trajectories(206) with each other and identify the final maneuvering trajectoryhaving a highest trajectory score. For example, the first candidatemaneuvering trajectory may be associated with a trajectory score of 8.1and the second candidate maneuvering trajectory may be associated with atrajectory score of 8.9. The final trajectory generator (213) may selectthe second candidate maneuvering trajectory as the final maneuveringtrajectory after comparing the first and the second candidatemaneuvering trajectories (206).

In an embodiment, the other modules (214) may include, but is notlimited to a localization module, a path planning module, a trajectorygeneration module, a navigator module, and a vehicle control module.

In an embodiment, the navigator module may be configured to initiatenavigation process from path planning to velocity generation toautonomously drive from a source location to a destination location. Inan embodiment, the navigator module may be a User Interface (UI). Thenavigator module may display the UI with a map to the user. In the map,user may be able to see the current initial vehicle location and selectthe destination location.

In an embodiment, the path planning module may be configured to generatea base path from the source location to the destination location. In anembodiment, techniques such as Dijkstra, A* may be used to generate thebase path.

In an embodiment, the one or more trajectory generation module withdifferent criteria of looking into the problem of trajectory generationmay be configured to generate a plurality of maneuvering trajectoriesfrom the current location of the vehicle (100) to the base path. As thebase path is generated from a point on the road (106), the plurality ofmaneuvering trajectories are generated from the current location of thevehicle (100) (e.g., garage, gas station, charging station) to the pointon the road (106). In one embodiment, one or more trajectory generationmodules may be used to generate the plurality of maneuveringtrajectories. In an embodiment, the one or more trajectory generationmodules may use the plurality of trajectory parameters to generate theplurality of maneuvering trajectories. For example, a first trajectorygeneration module may generate a plurality of aggressive maneuveringtrajectories, a second trajectory generation module may generate aplurality of cautious maneuvering trajectories, a third trajectorygeneration module may generate a plurality of long and safe maneuveringtrajectories. In one embodiment, a best maneuvering trajectory among theplurality of maneuvering trajectories generated by each of the one ormore trajectory generation module is considered as the plurality ofcandidate maneuvering trajectories (206). Therefore, the maneuveringtrajectories are considered based on different parameters and the finalmaneuvering trajectory is then generated based on the trajectory score.Hence, the final maneuvering trajectory is selected based on currentcondition of the vehicle (100) and the current base path from the sourceto the destination.

In an embodiment, the vehicle control module may be configured toprovide control signals to the vehicle (100). For example, the vehiclecontrol module may provide control signals to braking system orpropeller.

In an embodiment, the localization module may be configured to providecurrent location of the vehicle (100) on the map. In some embodiments,the localization module may use camera-based approach to localize thevehicle (100) by observing the surroundings.

FIG. 3 shows a flow chart illustrating a method of generatingmaneuvering trajectories for the vehicle (100) in real-time, inaccordance with some embodiments of the present disclosure.

As illustrated in FIG. 3, the method (300) may comprise one or moresteps. The method (300) may be described in the general context ofcomputer executable instructions. Generally, computer executableinstructions can include routines, programs, objects, components, datastructures, procedures, modules, and functions, which perform particularfunctions or implement particular abstract data types.

The order in which the method (300) is described is not intended to beconstrued as a limitation, and any number of the described method blockscan be combined in any order to implement the method. Additionally,individual blocks may be deleted from the methods without departing fromthe spirit and scope of the subject matter described herein.Furthermore, the method can be implemented in any suitable hardware,software, firmware, or combination thereof.

At step (301), the communication module (210) may receive the pluralityof candidate maneuvering trajectories (206) from the one or moretrajectory generation modules. In an embodiment, a best maneuveringtrajectory is received from each of the one or more trajectorygeneration module. The group of best maneuvering trajectories form theplurality of candidate maneuvering trajectories (206). In an embodiment,the plurality of candidate maneuvering trajectories (206) are generatedfor the vehicle (100) to reach the goal point from its current location.For example, the plurality of candidate maneuver trajectory may begenerated from a gas station to the road (106). Referring to the sameexample, two maneuver trajectories may be generated in a forward pathand one maneuver trajectory may be generated in a reverse path. In anembodiment, the plurality of candidate maneuvering trajectories (206)may be generated based on a plurality of trajectory parameters. Theplurality of trajectory parameters may include, but are not limited to,a vehicle pose, a goal pose, a curvature of the plurality of candidatemaneuvering trajectories (206), reversing space dimension, side spacedimension, forward space dimension, magnitude of direction change inroute in forward path, buffer space between lane and utility space andturn count.

At step (302), the profile parameter determination module (211) maydetermine the plurality of dynamic profile parameters associated witheach of the plurality of candidate maneuvering trajectories (206). In anembodiment, the plurality of dynamic profile parameters may be definedby a domain expert and the profile parameter determination module (211)may determine an observation score for each of the plurality of dynamicprofile parameters. In an embodiment, the profile parameterdetermination module (211) may implement the ML model to determine theobservation score for each of the plurality of dynamic profileparameters.

Reference is now made to FIG. 4 which illustrates training of the MLmodel. As shown in the FIG. 4, the ML model may be implemented by theprofile parameter determination module (211) and the trajectory scorecalculator (212). The ML model may receive training trajectories (401)and corresponding profile parameters (402 a, . . . , 402 n), and weights(403) as input. The training trajectories (401) may be traversed by anoperator. For example, the operator may traverse test runs and generatea plurality of training trajectories (401) to maneuver the vehicle (100)to the goal point. Further, the operator may provide the trainingtrajectories (401) and corresponding profile parameters (402 a, . . .402 n) as input to the ML model. Further, the operator or the domainexpert may define weights (403) for each profile parameter. Table 1shows an example of weights (403) associated with the profile parameters(402 a, . . . 402 n).

TABLE 1 Profile Parameter Weight Lane congestion 0.35 Lane blockingduration 0.1 Curvature 0.25 Length of trajectory 0.1 Change in direction0.2

In an embodiment, the lane congestion (402 a) may be a measure ofdistance and speed assessment of other vehicles in a rear side of thevehicle (100). The observation score (404 a) for the lane congestion(402 a) may be calculated as Slc=1/Tw, where Slc is the observationscore, Tw (404 a) is the wait time between Tvh and Tovh, where Tvh isthe time taken by the vehicle (100) to reach the goal point and Tovh isthe time taken by other vehicles to reach the goal point. The Tv isselected such that Tv>Tovh.

In an embodiment, lane blocking duration (402 b) may be a measure oftime duration for which other vehicle block the lane (goal point), whenthe plurality of candidate maneuvering trajectories (206) are generatedfor the vehicle (100) to reach the lane. The observation score (404 b)for the lane blocking duration may be calculated as Slb=30/Tb, where Slbis the observation score (404 b) and Tb is the duration for which thelane is blocked.

In an embodiment, the number of turns (402 c) is a measure of number ofturns required for the vehicle (100) to reach the goal point in themaneuver trajectory. The observation score (404 c) for the number ofturns is calculated as St=T/10, where St is the observation score (404c) and T is the number of turns.

In an embodiment, the observation score (404 d) for length of trajectory(402 d) is calculated as Slt=1/(L %5), where Slt is the observationscore (404 d), and L is the length of the trajectory (402 d).

In an embodiment, the change in direction (402 e) is the measure ofnumber of times the vehicle (100) has to change direction to reach thegoal point. The observation score (404 e) for the change in direction iscalculated as Scd=1/Nt, where Scd is the observation score (404 e) andNt is the number of times the direction is changed.

In an embodiment, the operator may annotate the observation scores (404a, . . . 404 n) for the profile parameters (402 a, . . . 402 n) duringtraining. In another embodiment, the ECU (102) may calculate theobservation score (404 a, . . . 404 n) for the profile parameters (402a, . . . 402 n) and the operator may feedback the observation score (404a, . . . 404 n) for each training trajectory and the ML model may adjustthe weights (403) to correct the observation scores (404 a, . . . 404n). Further, the operator may vary the values of the weights (403) basedon different environmental conditions. For example, in a hilly terrain,the change in direction may be provided with lower weight (403) than ina flat terrain. Likewise, lane congestion (402 a) may be provided moreweight (403) within city limits than on a highway. The ML model may betrained to determine an appropriate observation score (404 a, . . . ,404 n) for the profile parameters (402 a, . . . , 402 n). Further, theML model may also be trained to dynamically update the weight (403)values based on different scenarios. Thereafter, the ML model may betrained to generate the intermediate trajectory score for each profileparameter for a training trajectory (401) and thereafter a finaltrajectory score (405) for the training trajectory (401). In anembodiment, the final trajectory score (405) may be an average of theintermediate trajectory score of all the profile parameters (402 a, . .. 402 n). Likewise, the final trajectory score (405) is generated foreach trajectory profile.

Referring back to FIG. 3, at step (302), during the inference stage theprofile parameter determination module (211) may determine theobservation score (404) for each dynamic profile parameter for each ofthe plurality of candidate maneuvering trajectories (206) using thetrained ML model.

At step (303), the trajectory score calculator (212) may generate thetrajectory score (405) for each of the plurality of candidatemaneuvering trajectories (206). Table 2 shows an example of trajectoryscores (405) for five candidate maneuvering trajectories (206) on ascale of 1-10.

TABLE 2 Trajectory Trajectory score Trajectory 1 7.3 Trajectory 2 8.2Trajectory 3 8.5 Trajectory 4 7.9 Trajectory 5 8.1

At step (304), the final trajectory generator (213) generates the finalmaneuvering trajectory by comparing the trajectory scores of thecandidate maneuvering trajectories (206) with each other. In anembodiment, the final trajectory generator (213) may implement acomparator to compare the trajectory score of each candidate maneuveringtrajectories (206) with each other. In one embodiment, a candidatemaneuvering trajectory having a maximum trajectory score is selected asthe final maneuvering trajectory. For example, from the Table 2, thetrajectory 3 is having a maximum trajectory score (405) of 8.5 comparedto the other four trajectories. Hence, the trajectory 3 is selected asthe final maneuvering trajectory and is provided to the vehicle (100)for navigating according to the trajectory 3.

Reference is now made to FIG. 5 which illustrates an exemplary scenarioof generating candidate maneuvering trajectories (206). As seen in FIG.5, the vehicle (100 a) has to reach the goal point on the road (106).For example, the vehicle (100 a) is parked in a garage (not shown) andhas to reach the goal point on the road (106). Also, there is anothervehicle (100 b) on the road (106) which is approaching the goal point.Considering the scenario, the vehicle (100 a) has generated twocandidates maneuvering trajectories (105 a, 105 b). Both the candidatemaneuvering trajectories (105 a, 105 b) enable the vehicle (100 a) toreach the goal point on the road (106).

FIG. 6 is now referred to illustrate the generation of the finalmaneuvering trajectory from the candidate maneuvering trajectories (105a, 105 b). As seen in the FIG. 6, the candidate maneuvering trajectories(105 a, 105 b) are provided to the ECU (102). The parameterdetermination module (211), the trajectory score calculator (212) andthe final trajectory score generator (213) are used to process thecandidate maneuvering trajectories (105 a, 105 b) and generate the finalmaneuvering trajectory. As the vehicle (100 b) is approaching the road(106) from the rear side of the vehicle (100 a), the dynamic profileparameter “lane congestion” (402 a) may be provided a higher weight(403) and the observation score (404 a) of the candidate maneuveringtrajectory (105 a) may be more compared to the observation score (404 a)of the candidate maneuvering trajectory (105 b). Consequently, thetrajectory score (405) of the candidate maneuvering trajectory (105 a)is greater than the trajectory score (405) of the candidate maneuveringtrajectory (105 b). Therefore, the ECU (102) provides the maneuveringtrajectory (105 a) to the vehicle propeller to navigate the vehicle (100a) accordingly.

FIG. 7a is an exemplary illustration of a scenario where the vehicle(100 a) has to be parked in the parking space (501 b) among a pluralityof parking spaces (501 a, 501 b, 501 c). As seen, the candidatemaneuvering trajectories (105 c, 105 d) are generated. The maneuveringtrajectory (105 c) may navigate the vehicle (100 a) very close to thevehicle (100 b). Hence, the maneuvering trajectory (105 d) may beselected as the final maneuvering trajectory due to the presence of thevehicle (100 b) in the parking space (501 c). The vehicle (100 a) shownin gray shade illustrates the maneuver performed by navigating themaneuvering trajectory (105 d).

FIG. 7b is an exemplary illustration of a scenario where the vehicle(100 a) has to exit the parking space (501 b) among a plurality ofparking spaces (501 a, 501 b, 501 c). As seen, the candidate maneuveringtrajectories (105 e, 105 f) are generated. The maneuvering trajectory(105 f) may navigate the vehicle (100 a) very close to the vehicle (100b). Hence, the maneuvering trajectory (105 e) may be selected as thefinal maneuvering trajectory due to the presence of the vehicle (100 b)in the parking space (501 a).

FIG. 7c is an exemplary illustration of a scenario where the vehicle(100) has to maneuver a U-turn. As seen, the candidate maneuveringtrajectories (105 g, 105 h) are generated. The maneuvering trajectory(105 g) may navigate the vehicle (100) very close to the mediandifferentiating lanes on the road (106). Hence, the maneuveringtrajectory (105 h) may be selected as the final maneuvering trajectory.The vehicle (100) shown in gray shade illustrates the maneuver performedby navigating the maneuvering trajectory (105 h).

The proposed method and system provides precise and calibratedtrajectory path for navigating the vehicle (100). Further, the proposedmethod and system considers the dynamic profile parameters to select thebest maneuvering trajectory among the plurality of candidate maneuveringtrajectories (206). The ML technique proposed in the present disclosure,is used to select the best trajectory which was not possible inconventional systems. Also, the candidate are generated using differenttrajectory generation modules, which enables different perspective ofgenerating the trajectories. Hence, the vehicle (100) can be maneuveredaccording to different conditions.

In light of the above mentioned advantages and the technicaladvancements provided by the disclosed method and system, the claimedsteps as discussed are not routine, conventional, or well understood inthe art, as the claimed steps enable the following solutions to theexisting problems in conventional technologies. Further, the claimedsteps clearly bring an improvement in the functioning of the deviceitself as the claimed steps provide a technical solution to a technicalproblem.

The terms “an embodiment”, “embodiment”, “embodiments”, “theembodiment”, “the embodiments”, “one or more embodiments”, “someembodiments”, and “one embodiment” mean “one or more (but not all)embodiments of the invention(s)” unless expressly specified otherwise.

The terms “including”, “comprising”, “having” and variations thereofmean “including but not limited to”, unless expressly specifiedotherwise.

The enumerated listing of items does not imply that any or all of theitems are mutually exclusive, unless expressly specified otherwise. Theterms “a”, “an” and “the” mean “one or more”, unless expressly specifiedotherwise.

A description of an embodiment with several components in communicationwith each other does not imply that all such components are required. Onthe contrary a variety of optional components are described toillustrate the wide variety of possible embodiments of the invention.

When a single device or article is described herein, it will be readilyapparent that more than one device/article (whether or not theycooperate) may be used in place of a single device/article. Similarly,where more than one device or article is described herein (whether ornot they cooperate), it will be readily apparent that a singledevice/article may be used in place of the more than one device orarticle or a different number of devices/articles may be used instead ofthe shown number of devices or programs. The functionality and/or thefeatures of a device may be alternatively embodied by one or more otherdevices which are not explicitly described as having suchfunctionality/features. Thus, other embodiments of the invention neednot include the device itself.

The illustrated operations of FIG. 3 shows certain events occurring in acertain order. In alternative embodiments, certain operations may beperformed in a different order, modified or removed. Moreover, steps maybe added to the above described logic and still conform to the describedembodiments. Further, operations described herein may occur sequentiallyor certain operations may be processed in parallel. Yet further,operations may be performed by a single processing unit or bydistributed processing units.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the invention be limited notby this detailed description, but rather by any claims that issue on anapplication based here on. Accordingly, the disclosure of theembodiments of the invention is intended to be illustrative, but notlimiting, of the scope of the invention, which is set forth in thefollowing claims.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims.

What is claimed is:
 1. A method of generating a maneuvering trajectoryfor a vehicle in real-time, the method comprising: obtaining, by anElectronic Control Unit (ECU) of the vehicle, a plurality of candidatemaneuvering trajectories for maneuvering the vehicle to reach a goalpoint; determining, by the ECU, a plurality of dynamic profileparameters associated with each of the plurality of candidatemaneuvering trajectories; generating, by the ECU, a trajectory score foreach of the plurality of candidate maneuvering trajectories using aMachine Learning (ML) model, wherein the ML model is trained using theplurality of dynamic profile parameters; and generating, by the ECU, afinal maneuvering trajectory from the plurality of candidate maneuveringtrajectories based on the trajectory score, wherein the vehicle isnavigated based on the final maneuvering trajectory.
 2. The method ofclaim 1, wherein the plurality of candidate maneuvering trajectories aregenerated based on a plurality of trajectory parameters.
 3. The methodof claim 2, wherein the plurality of trajectory parameters comprises avehicle pose, a goal pose, a curvature of the plurality of candidatemaneuvering trajectories, reversing space dimension, side spacedimension, forward space dimension, magnitude of direction change inroute in forward path, buffer space between lane and utility space orturn count.
 4. The method of claim 1, wherein the plurality of dynamicprofile parameters comprises at least one of, a lane congestion, a laneblocking duration, a highest curvature on trajectory, a length ofmaneuvering path or number of reverse required for maneuver.
 5. Themethod of claim 1, wherein generating the trajectory score comprises:generating an observation score for each of the plurality of dynamicprofile parameters associated with each of the plurality of candidatemaneuvering trajectories using the ML model; and generating a trajectoryscore for each trajectory profile based on the observation score ofrespective plurality of dynamic profile parameters and a weightassociated with corresponding dynamic profile parameter.
 6. The methodof claim 1, wherein generating the final maneuvering trajectorycomprises: selecting a candidate maneuvering trajectory from theplurality of candidate maneuvering trajectories, having a maximumtrajectory score, wherein the selected candidate maneuvering trajectoryis the final maneuvering trajectory.
 7. The method of claim 1, whereintraining the ML model comprises: receiving training profile parameters,wherein the training profile parameters are generated for trainingtrajectories traversed by an operator; receiving weight data for eachtraining profile parameter; annotating an observation score for eachtraining profile parameter; and generating trajectory scorescorresponding to the training trajectories based on the observationscore of the training profile parameters.
 8. A system for generating amaneuvering trajectory for a vehicle in real-time, comprising: anElectronic Control Unit (ECU) configured in the vehicle, the ECUcomprising at least one processor and a memory storing instructions thatwhen executed by the at least one processor, cause the at least oneprocessor to: obtain a plurality of candidate maneuvering trajectoriesfor maneuvering the vehicle to reach a goal point; determine a pluralityof dynamic profile parameters associated with each of the plurality ofcandidate maneuvering trajectories; generate a trajectory score for eachof the plurality of candidate maneuvering trajectories using a MachineLearning (ML) model, wherein the ML model is trained using the pluralityof dynamic profile parameters; and generate a final maneuveringtrajectory from the plurality of candidate maneuvering trajectoriesbased on the trajectory score, wherein the vehicle is navigated based onthe final maneuvering trajectory.
 9. The system of claim 8, wherein theat least one processor is configured to generate the plurality ofcandidate maneuvering trajectories using a plurality of trajectoryparameters.
 10. The system of claim 8, wherein the at least oneprocessor is configured to generate the trajectory score by performingsteps of: generating an observation score for each of the plurality ofdynamic profile parameters associated with each of the plurality ofcandidate maneuvering trajectories using the ML model; and generating atrajectory score for each trajectory profile based on the observationscore of respective plurality of dynamic profile parameters and a weightassociated with corresponding dynamic profile parameter.
 11. The systemof claim 8, wherein the at least one processor is configured to generatethe final maneuvering trajectory by performing step of: selecting acandidate maneuvering trajectory from the plurality of candidatemaneuvering trajectories, having a maximum trajectory score, wherein theselected candidate maneuvering trajectory is the final maneuveringtrajectory.
 12. The system of claim 8, wherein the at least oneprocessor is configured to train the ML model by performing steps of:receiving training profile parameters, wherein the training profileparameters are generated for training trajectories traversed by anoperator; receiving weight data for each training profile parameter;annotating an observation score for each training profile parameter; andgenerating trajectory scores corresponding to the training trajectoriesbased on the observation score of the training profile parameters.
 13. Anon-transitory computer readable medium including instructions storedthereon that when processed by at least one processor cause a device toperform operations comprising: obtaining a plurality of candidatemaneuvering trajectories for maneuvering the vehicle to reach a goalpoint; determining a plurality of dynamic profile parameters associatedwith each of the plurality of candidate maneuvering trajectories;generating a trajectory score for each of the plurality of candidatemaneuvering trajectories using a Machine Learning (ML) model, whereinthe ML model is trained using the plurality of dynamic profileparameters; and generating a final maneuvering trajectory from theplurality of candidate maneuvering trajectories based on the trajectoryscore, wherein the vehicle is navigated based on the final maneuveringtrajectory.